package com.yunkeji.api.pay.bo;

import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 异步通知参数 https://opendocs.alipay.com/open/03vngf?pathHash=f41451c3
 *
 * @author 老张
 */
@Data
public class AliPayOrderCallBackBo {
    // 交易创建时间
    private Date gmtCreate;
    private String charset;
    // 卖家支付宝账号
    private String sellerEmail;
    // 订单标题
    private String subject;
    // 签名
    private String sign;
    // 商品描述
    private String body;
    // 买家支付宝用户号
    private String buyerId;
    // 开票金额
    private BigDecimal invoiceAmount;
    // 通知校验ID
    private BigDecimal notifyId;
    // 支付金额信息 目前不关注
    // private List<FundBillList> fundBillList;
    // 通知类型
    private String notifyType;
    // 交易状态
    private String tradeStatus;
    // 实收金额
    private BigDecimal receiptAmount;
    // appId
    private Long appId;
    // 付款金额
    private BigDecimal buyerPayAmount;
    // 签名类型 目前不关注
    // private String signType;
    // 卖家支付宝用户号
    private String sellerId;
    // 交易付款时间
    private Date gmtPayment;
    // 通知时间
    private Date notifyTime;
    // 回调扩展参数-自定义
    private String passbackParams;
    // 版本
    private String version;
    // 商户订单号
    private String outTradeNo;
    // 订单金额
    private BigDecimal totalAmount;
    // 支付宝交易凭证号
    private String tradeNo;
    // 支付宝文档都没写这个参数啥意思
    private String authAppId;
    // 买家支付宝账号
    private String buyerLogonId;
    // 支付宝文档都没写这个参数啥意思
    private BigDecimal pointAmount;

    @Data
    public class FundBillList {
        private BigDecimal amount;
        private String fundChannel;
    }
}
